#include <poll.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
    struct pollfd poll_fd;                      // 声明 pollfd 结构体
    poll_fd.fd = 0;                             // 指定关注 0 号文件描述符
    poll_fd.events = POLLIN;                    // 指定用户所关注的事件为：读！

    for (;;)
    {
        int ret = poll(&poll_fd, 1, 1000);      // 检测个数：1，时间间隔：1000ms
        if (ret < 0)
        {
            perror("poll");
            continue;
        }
        if (ret == 0)
        {
            printf("poll timeout\n");
            continue;
        }
        if (poll_fd.revents == POLLIN)          // 事件成功检测
        {
            char buf[1024] = {0};
            read(0, buf, sizeof(buf) - 1);
            printf("stdin:%s", buf);
        }
    }
}